package com.ruoyi.team.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.team.domain.GoodsCategory;
import com.ruoyi.team.vo.GoodsCategoryTreeSelect;

/**
 * 物品分类信息Service接口
 *
 * @author ruoyi
 * @date 2022-11-28
 */
public interface IGoodsCategoryService extends IService<GoodsCategory> {

    /**
     * 查询物品分类信息列表
     *
     * @param goodsCategory 物品分类信息
     * @return 物品分类信息集合
     */
    public List<GoodsCategory> selectGoodsCategoryList(GoodsCategory goodsCategory);

    /**
     * 构建前端所需要下拉树结构
     *
     * @param goodsCategoryList 物品分类列表
     * @return 下拉树结构列表
     */
    List<GoodsCategoryTreeSelect> buildDeptTreeSelect(List<GoodsCategory> goodsCategoryList);

    /**
     * 构建前端所需要树结构
     *
     * @param goodsCategoryList 物品分类列表
     * @return 树结构列表
     */
    List<GoodsCategory> buildDeptTree(List<GoodsCategory> goodsCategoryList);

    // 分类迁移
    boolean migrate(Long sourceId, Long targetId, boolean subtype);
}
